package com.relytosoft.mizar.analyze.algorithm.base.feign.bitman;

import com.relytosoft.mizar.analyze.algorithm.base.config.BitmanFeignInterceptor;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 人脸业务
 *
 * @Author SunLi
 * @Date: 2022/5/13 19:27
 * @Version 1.0
 */
@FeignClient(url = "${relytosoft.mizar.analyze.openApiUrl}", name = "Analyze-Face", configuration = BitmanFeignInterceptor.class)
public interface FaceFeignService {
    @PostMapping("/api/algorithm/face/task")
    String createTask(@RequestBody String bodys);

    @GetMapping("/api/algorithm/face/task/stop")
    String stopTask(@RequestParam(name = "ParamsJson") String paramsJson);

    @PostMapping("/api/algorithm/face/feature/extraction")
    String featureExtraction(@RequestBody String bodys);

    @PostMapping("/api/algorithm/face/feature/comparison")
    String featureComparison(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/face/search/register")
    String faceSearch(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/group/add")
    String createGroup(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/group/delete")
    String deleteGroup(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/person/add")
    String createPerson(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/person/delete")
    String deletePerson(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/face/search/register")
    String searchPerson(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/face/executeControl/add")
    String createExecuteControl(@RequestBody String bodys);

    @PostMapping("/manager/api/v1/serviceScheduling/face/executeControl/delete")
    String deleteExecuteControl(@RequestBody String bodys);
}
